package com.sinven.mapper;

import java.util.Date;
import java.util.List;

import org.apache.ibatis.annotations.Param;

import com.sinven.pojo.Article;
import com.sinven.pojo.Columntype;

public interface ArticleMapper {
	int AddArticle(Article article); // 添加文章的方法

	int DeletedSelfArticle(int a_id);// 自己删除文章的方法

	int DeletedLockArticle(int a_id);// 管理员删除文章的方法

	int UpdateState(@Param("a_id")int a_id,@Param("state")int state);//修改文章状态

	int Delete(int a_id);// 完全删除一个文章

	int DeletedUserRecycle(int a_authorId);// 清空个人回收站的方法

	int DeletedLockRecycle(int a_authorId);// 清空个人回收站的方法

	int UpdataArticle(Article article);

	Article SelectArticleContent(long a_id);// 查询文章内容的方法 按id查询一条

	int SelectlUserArticleCount(int a_columnId);// 查询一个人的文章总数

	List<Article> SelectArticleBypostTime();// 查询文章 按照时间先后查询 类型为1

	List<Article> SelectArticleBypostTimeAndstate(int state);// 查询文章 按照时间先后状态查询
	
	List<Columntype> SelectColumntype();//查询文章类型
	
	List<Article> SelectArticleBypostTimeAndType(int a_columnId);// 查询文章 按照时间先后和文章类型查询
	
	List<Article> SelectArticleByArticleSearchText(String articleSearchText);//查询文章  按照搜索框查询

	List<Article> SelectArticleById(long a_columnId);//根据用户id查询所有文章
	List<Article> SelectFenYe(@Param("a_authorId") int a_authorId,@Param("startIndex")long startIndex,@Param("pageSize")long pageSize);//根据用户id查询所有文章
	List<Article> SelectArticleBypostTimeAndstateByFenYe(@Param("a_state") long a_state,@Param("startIndex")long startIndex,@Param("pageSize")long pageSize);//根据用户id查询所有文章
	List<Article> SelectPersonalDeleted(long a_state);//根据文章状态a_state查询所有文章 0未发布  1成功发布  2个人删除  3管理员删除
	List<Article> SelectNotRelease(long a_state);//根据文章状态a_state查询所有文章 0未发布  1成功发布  2个人删除  3管理员删除
	int AddPageview(int a_id) ;//按照文章id 阅读人数++；
	
	int ReductionArticle(int a_id);// 还原一个文章

}
